An in-memory database, also known as a main memory database, or memory resident database, refers generally to a database management system that relies on a main memory of an associated computing device for storing data to be queried or otherwise processed. The use of an in-memory database is known to provide high speed processing for large quantities of data.
In practice, data to be processed may initially be stored in a long-term, non-volatile memory, such as a disk-based storage medium. Then, some or all of the data may be loaded from the disk-based storage into the main memory of the in-memory database, for processing.
Thus, during an initial operation of an in-memory database with respect to a particular set of queries and/or data, it is necessary to load the data to be processed into the main memory. Moreover, by nature, the main memory of an in-memory database is volatile and may be subject to unpredictable hardware or software difficulties that may lead to a loss of data within the main memory. In such cases, ongoing queries being processed may be interrupted, and scheduled queries may not yet have begun. In such cases, data must be re-loaded from the offline, non-volatile memory, into the main memory of the in-memory database.